'use server';

import { prisma } from 'src/lib/prisma';

/**
 * 私有存储系统配置，根据数据库 StorageSystemTypeEnum 同步添加
 * 私有存储系统类型：local, oss, obs, cos, s3, kodo等
 */
export interface LocalSystemConfig {
  basePath?: string;
  cachePath?: string;
};

/**
 * 获取文件存储系统列表，该接口无需登录验证，因为需要在系统加载时就加载存储系统列表
 * @param userId 用户ID
 */
export async function getStorageSystemList(userId?: string) {
  const storageSystem = await prisma.storageSystem.findMany({
    where: {
      OR: [
        {
          isPublic: true,
        },
        {
          userId,
        },
      ],
    },
    orderBy: {
      createdAt: 'desc',
    },
  });
  return storageSystem;
}
